Bachelor of Science in Computer Engineering


Accredited by the
United Arab Emirates
Ministry of Higher Education and Scientific Research

With RIT’s computer engineering BS, you’ll design hardware, components, and software for next-generation products, including autonomous vehicles and wearables.

 

Overview

In the computer industry, there is a great demand for computer engineers who can do it all—from designing high-performance computer hardware components and software to developing next-generation intelligent, resilient, and sustainable products and appliances that contain embedded systems.

Comprehensive Curriculum

RIT Dubai’s Bachelor of Science in Computer Engineering provides a strong foundation in mathematics, science, and engineering principles while equipping students with the technical expertise needed to solve complex computing challenges.

Students build essential knowledge through courses in:

  • Data Structures
  • Object-Oriented Programming
  • Circuits and Electronics
  • Principles of Software Engineering

Advanced coursework focuses on the integration of hardware and software systems through subjects such as:

  • Computer Architecture
  • Digital Systems Design
  • Hardware and Software Interfacing
  • Computer Networks
  • Digital Signal Processing

Specialized Areas of Study

Students can further customize their learning through concentration areas that provide in-depth expertise in emerging fields of computer engineering, including:

  • Software Engineering
  • High-Performance Computing
  • Computer Architecture
  • Integrated Circuits and Systems
  • Networks and Cybersecurity
  • Computer Vision and Machine Intelligence
  • Signal Processing, Control, and Embedded Systems

These concentrations also offer excellent opportunities for students interested in undergraduate research and innovation alongside faculty experts.

Experiential Learning

Hands-on learning is a cornerstone of the computer engineering program. Students gain practical experience through research opportunities, laboratory work, and a two-semester Senior Design Capstone project.

Senior Design Capstone

In their final year, students work in multidisciplinary teams comprising peers from various engineering disciplines, including biomedical, computer, electrical, industrial, and mechanical engineering. Teams collaborate on real-world projects sponsored by industry partners, community organizations, faculty members, or proposed by students themselves.

Through this experience, students develop technical expertise, project management capabilities, teamwork and leadership skills, and the ability to effectively communicate engineering solutions to diverse audiences. The capstone project serves as a culminating experience that prepares graduates to address real-world engineering challenges with confidence and creativity.

Typical Job Titles

Computer Engineer Semiconductor Engineer Electrical Engineer
Firmware Engineer Embedded Software Engineer Test Automation Engineer
Manufacturing Engineer Quality Engineer Project Engineer
Sales Engineer Hardware Engineer Hardware Verification Engineer
Verification Engineer

 

Industries


Aerospace


AI & Automation


Computer Networking


Secure Systems


Electronic and Computer Hardware


Government


Internet and Software


Smart Systems

Mission Statement

The mission of the Computer Engineering undergraduate program is to produce graduates with the appropriate hardware and software skill sets and experiential education who will have an immediate impact in the workforce, pursue graduate studies, and embrace life-long learning. The program also prepares graduates to adapt to technological changes, create significant individual and industrial growth opportunities, and practice the profession with a social conscience.

Program Educational Objectives

  • Career Focus: Graduates successfully contribute to the professional workforce typically by applying their knowledge in various areas of computer engineering related to hardware, software and/or systems.
  • Graduate Study: Many graduates have pursued, are pursuing, or plan to pursue graduate study in computer engineering, related disciplines or business.
  • Independent Learning: Graduates are engaged in lifelong learning and stay current with advancements in their chosen "eld through independent learning and/or continuing education.
  • Professionalism: Graduates conduct themselves in a professional and ethical manner and function as responsible members of society.

Program Learning Outcomes

  1. Complex Engineering Problems: Identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
  2. Engineering Design: Apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors.
  3. Communication: Communicate effectively with a range of audiences.
  4. Ethical & Professional: Recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts.
  5. Teamwork: Function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives.
  6. Experiments & Data: develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
  7. Independent Learning: acquire and apply new knowledge as needed, using appropriate learning strategies.
  8. Experiential Learning: Acquired experiential education (through co-op) related to the broader area of computer engineering.

Curriculum

Typical Course Sequence

Total Credit Hours - 129

Course Sem. Cr. Hrs.
First Year
CMPE-110
Introduction to Computer Engineering
This course overviews the field of computer engineering, the computer engineering curriculum at RIT, and research and career opportunities. The topics covered include basic circuit analysis, number systems, digital logic, programming, robotics, laboratory equipment, teamwork, critical thinking, technical writing, modern and contemporary issues, ethics, diversity, and communication skills.
1
CSCI-141
Computer Science I
This course serves as an introduction to computational thinking using a problem-centered approach. Specific topics covered include: expression of algorithms in pseudo code and a programming language; functional and imperative programming techniques; control structures; problem solving using recursion; basic searching and sorting; elementary data structures such as lists, trees, and graphs; and correctness, testing and debugging. Assignments (both in class and for homework) requiring a pseudo code solution and an implementation are an integral part of the course. An end-of-term project is also required.
4
MATH-181
Calculus I
This is the first in a two-course sequence intended for students majoring in mathematics, science, or engineering. It emphasizes the understanding of concepts, and using them to solve physical problems. The course covers functions, limits, continuity, the derivative, rules of differentiation, applications of the derivative, Riemann sums, definite integrals, and indefinite integrals.
4
YOPS-010
RIT 365: RIT Connections
RIT 365 students participate in experiential learning opportunities designed to launch them into their career at RIT, support them in making multiple and varied connections across the university, and immerse them in processes of competency development. Students will plan for and reflect on their first-year experiences, receive feedback, and develop a personal plan for future action in order to develop foundational self-awareness and recognize broad-based professional competencies.
0
CMPE-160
Digital System Design I
This course covers the specification, analysis, modeling and design of digital systems. Standard modules, such as decoders, multiplexers, shifter registers, adders, and counters, will be analyzed. Lectures will discuss fundamental design methodologies, state machines, and digital system modeling with the use of VHDL as a hardware description language. The laboratory provides hands-on experiences of the design, modeling, implementation, and testing of digital systems using commercial IC components as well as CAD tools.
3
CSCI-142
Computer Science II
This course delves further into problem solving by continuing the discussion of data structure use and design, but now from an object-oriented perspective. Key topics include more information on tree and graph structures, nested data structures, objects, classes, inheritance, interfaces, object-oriented collection class libraries for abstract data types (e.g. stacks, queues, maps, and trees), and static vs. dynamic data types. Concepts of object-oriented design are a large part of the course. Software qualities related to object orientation, namely cohesion, minimal coupling, modifiability, and extensibility, are all introduced in this course, as well as a few elementary object-oriented design patterns. Input and output streams, graphical user interfaces, and exception handling are covered. Students will also be introduced to a modern integrated software development environment (IDE). Programming projects will be required.
4
MATH-182
Calculus II
This is the second in a two-course sequence. It emphasizes the understanding of concepts, and using them to solve physical problems. The course covers techniques of integration including integration by parts, partial fractions, improper integrals, applications of integration, representing functions by infinite series, convergence and divergence of series, parametric curves, and polar coordinates.
4
PHYS-211
University Physics I
This is a course in calculus-based physics for science and engineering majors. Topics include kinematics, planar motion, Newton's Laws, gravitation, work and energy, momentum and impulse, conservation laws, systems of particles, rotational motion, static equilibrium, mechanical oscillations and waves, and data presentation/analysis. The course is taught in a workshop format that integrates the material traditionally found in separate lecture and laboratory courses.
4
General Education – First Year Writing (WI) 3
General Education – Elective 3
General Education – Artistic Perspective 3
General Education – Social Perspective 3
Second Year
CMPE-250
Assembly and Embedded Programming
This course introduces embedded systems, along with fundamental computer organization, assembly language programming, and mixed language programming with C and assembly. Using a modern microcontroller and embedded systems IDE, such as the ARM Cortex-M0+ and Keil Microcontroller Development Kit, the course covers embedded programming concepts and interface modules, as well as addressing methods, machine instructions, assembler directives, macro definitions, code relocatability, subroutine linkage, data structures, I/O programming, exception processing, and interrupts. Program design techniques necessary to write efficient, maintainable device drivers are considered.
3
SWEN-261
Introduction to Software Engineering
An introductory course in software engineering, emphasizing the organizational aspects of software development and software design and implementation by individuals and small teams within a process/product framework. Topics include the software lifecycle, software design, user interface issues, specification and implementation of components, assessing design quality, design reviews and code inspections, software testing, basic support tools, technical communications and system documentation, team-based development. A term-long, team-based project done in a studio format is used to reinforce concepts presented in class.
3
MATH-219
Multivariable Calculus
This course is principally a study of the calculus of functions of two or more variables, but also includes the study of vectors, vector-valued functions and their derivatives. The course covers limits, partial derivatives, multiple integrals, and includes applications in physics.
3
MATH-190
Discrete Mathematics for Computing
This course introduces students to ideas and techniques from discrete mathematics that are widely used in Computer Science. Students will learn about the fundamentals of propositional and predicate calculus, set theory, relations, recursive structures and counting. This course will help increase students’ mathematical sophistication and their ability to handle abstract problems.
3
PHYS-212
University Physics II
This course is a continuation of PHYS-211, University Physics I. Topics include electrostatics, Gauss' law, electric field and potential, capacitance, resistance, DC circuits, magnetic field, Ampere's law, inductance, and geometrical and physical optics. The course is taught in a lecture/workshop format that integrates the material traditionally found in separate lecture and laboratory courses.
4
EGEN-099
Engineering Co-op Preparation
This course will prepare students, who are entering their second year of study, for both the job search and employment in the field of engineering. Students will learn strategies for conducting a successful job search, including the preparation of resumes and cover letters; behavioral interviewing techniques and effective use of social media in the application process. Professional and ethical responsibilities during the job search and for co-op and subsequent professional experiences will be discussed.
0
CMPE-260
Digital System Design II
This course presents modern approaches to the design, modeling and testing of digital system. Topics covered are: VHDL and Verilog HDL as hardware description languages (HDLs), simulation techniques, design synthesis, verification methods, and implementation with field programmable gate arrays (FPGAs). Combinational and both the synchronous and asynchronous sequential circuits are studied. Testing and design for testability techniques are emphasized and fault tolerant and fail safe design concepts are introduced. Laboratory projects that enable students gain hands-on experience are required. The projects include complete design flow: design of the system, modeling using HDLs, simulation, synthesis and verification.
4
MATH-231
Differential Equations
This course is an introduction to the study of ordinary differential equations and their applications. Topics include solutions to first order equations and linear second order equations, method of undetermined coefficients, variation of parameters, linear independence and the Wronskian, vibrating systems, and Laplace transforms.
3
MATH-241
Linear Algebra
This course is an introduction to the basic concepts of linear algebra, and techniques of matrix manipulation. Topics include linear transformations, Gaussian elimination, matrix arithmetic, determinants, vector spaces, linear independence, basis, null space, row space, and column space of a matrix, eigenvalues, eigenvectors, change of basis, similarity and diagonalization. Various applications are studied throughout the course.
3
EEEE-281
Circuits I
Covers basics of DC circuit analysis starting with the definition of voltage, current, resistance, power and energy. Linearity and superposition, together with Kirchhoff's laws, are applied to analysis of circuits having series, parallel and other combinations of circuit elements. Thevenin, Norton and maximum power transfer theorems are proved and applied. Circuits with ideal op-amps are introduced. Inductance and capacitance are introduced and the transient response of RL, RC and RLC circuits to step inputs is established. Practical aspects of the properties of passive devices and batteries are discussed, as are the characteristics of battery-powered circuitry. The laboratory component incorporates use of both computer and manually controlled instrumentation including power supplies, signal generators and oscilloscopes to reinforce concepts discussed in class as well as circuit design and simulation software.
3
General Education – Ethical Perspective 3
Third Year
CMPE-350
Computer Organization
The course covers the important aspects of the design, organization, and performance evaluation of modern computer systems. Topics include computer performance measures, instruction set architecture classification, input/output organization, CPU datapath and control unit design, microprogramming, arithmetic and logic unit design, and the memory hierarchy, including cache levels and virtual memory.
3
CMPE-380
Applied Programming in C
This course uses the C language to implement algorithms used in the numerical solution of common problems encountered in science and engineering. Topics include an introduction to C, computer number representation and roundoff error, algorithms for finding roots of nonlinear equations, interpolation, threading, software security, numerical differentiation and integration, function approximation and data fitting solutions to systems of linear equations, and general matrix manipulation.
3
EEEE-380
Digital Electronics
This is an introductory course in digital MOS circuit analysis and design. The course covers the following topics: (1) MOSFET I-V behavior in aggressively scaled devices; (2) Static and dynamic characteristics of NMOS and CMOS inverters; (3) Combinational and sequential logic networks using CMOS technology; (4) Dynamic CMOS logic networks, including precharge-evaluate, domino and transmission gate circuits; (5) Special topics, including static and dynamic MOS memory, and interconnect RLC behavior.
3
EEEE-282
Circuits II
This course covers the fundamentals of AC circuit analysis starting with the study of sinusoidal steady-state solutions for circuits in the time domain. The complex plane is introduced along with the concepts of complex exponential functions, phasors, impedances and admittances. Nodal, loop and mesh methods of analysis as well as Thevenin and related theorems are applied to the complex plane. The concept of complex power is developed. The analysis of mutual induction as applied to coupled-coils. Linear, ideal and non-ideal transformers are introduced. Complex frequency analysis is introduced to enable discussion of transfer functions, frequency dependent behavior, Bode plots, resonance phenomenon and simple filter circuits. Two-port network theory is developed and applied to circuits and interconnections.
3
CMPE-499 Co-op 0
Open Elective 3
Fourth Year
CMPE-550
Computer Architecture
The course covers various aspects of advanced uniprocessor computer architecture design. Instruction set architecture design alternatives are discussed with emphasis on the Reduced Instruction Set Computer (RISC) architecture. Techniques to enhance CPU performance such as pipelined execution optimizations, conditional branch handling techniques, exploitation of instruction-level parallelism, multiple-instruction issue, and dynamic scheduling are studied. Cache, and memory hierarchy design and performance issues are also presented. The design aspects of efficient and reliable input/output systems are also covered. The course concludes with an introduction to concepts of multiprocessor systems design.
3
CMPE-480
Digital Signal Processing
This course introduces the basic elements of continuous and discrete time signals and systems and fundamental signal processing techniques, such as FIR and IIR Filtering, the Fourier transform, the Discrete Fourier transform and the z transform. Theory is strengthened through MATLAB-based projects and exercises.
3
CMPE-460
Interface and Digital Electronics
This course covers various sensors, motors, and signal conditioning circuits, including amplification, filtering, level shifting, ADC, and DAC. Modern tools, such as Arm Keil MDK and PSpice, are used to simulate and debug modern microcontrollers, such as TI Arm-based MSP, analog active filters, and operational amplifier application circuits. Students typically work in teams of two to design a complete data acquisition system from sensors, amplification, filtering, ADC, and DAC to analog signals through either wired or wireless transmission circuits.
4
MATH-251
Probability and Statistics
This course introduces sample spaces and events, axioms of probability, counting techniques, conditional probability and independence, distributions of discrete and continuous random variables, joint distributions (discrete and continuous), the central limit theorem, descriptive statistics, interval estimation, and applications of probability and statistics to real-world problems. A statistical package such as Minitab or R is used for data analysis and statistical applications.
3
CMPE-499 Co-op 0
General Education – Immersion (1) 3
Fifth Year
EGEN-497
Multidisciplinary Senior Design 1
This is the first in a two-course sequence oriented to the solution of real-world engineering design problems. This is a capstone learning experience that integrates engineering theory, principles, and processes within a collaborative environment. Multidisciplinary student teams follow a systems engineering design process, which includes assessing customer needs, developing engineering specifications, generating and evaluating concepts, choosing an approach, developing the details of the design, and implementing the design to the extent feasible, for example by building and testing a prototype or implementing a chosen set of improvements to a process. This first course focuses primarily on defining the problem and developing the design, but may include elements of build/ implementation. The second course may include elements of design, but focuses on build/implementation and communicating information about the final design.
3
CMPE-570
Data and Communication Networks
This course gives an overview of the technologies, architectures, and protocols used to build various types of computer and communication networks. The course emphasizes various network design problems and solution approaches. Specific issues covered include framing and coding, error detection, multiple access control, addressing, routing, flow and congestion control, scheduling, and switching.
3
EGEN-498
Multidisciplinary Senior Design 2
This is the second in a two-course sequence oriented to the solution of real-world engineering design problems. This is a capstone learning experience that integrates engineering theory, principles, and processes within a collaborative environment. Multidisciplinary student teams follow a systems engineering design process, which includes assessing customer needs, developing engineering specifications, generating and evaluating concepts, choosing an approach, developing the details of the design, and implementing the design to the extent feasible, for example by building and testing a prototype or implementing a chosen set of improvements to a process. This first course focuses primarily on defining the problem and developing the design, but may include elements of build/implementation. The second course may include elements of design, but focuses on build/implementation and communicating information about the final design.
3
Open Elective 6
Professional Elective 1 3
Professional Elective 2 3
General Education – Immersion (2) 3
General Education – Global Perspective 3
General Education – Immersion (3) 3

 

 

BS Computer Engineering – AI Systems Option

 

Course Sem. Cr. Hrs.
First Year
CMPE-110
Introduction to Computer Engineering
This course overviews the field of computer engineering, the computer engineering curriculum at RIT, and research and career opportunities. The topics covered include basic circuit analysis, number systems, digital logic, programming, robotics, laboratory equipment, teamwork, critical thinking, technical writing, modern and contemporary issues, ethics, diversity, and communication skills.
1
CSCI-141
Computer Science I
This course serves as an introduction to computational thinking using a problem-centered approach. Specific topics covered include: expression of algorithms in pseudo code and a programming language; functional and imperative programming techniques; control structures; problem solving using recursion; basic searching and sorting; elementary data structures such as lists, trees, and graphs; and correctness, testing and debugging. Assignments (both in class and for homework) requiring a pseudo code solution and an implementation are an integral part of the course. An end-of-term project is also required.
4
MATH-181
Calculus I
This is the first in a two-course sequence intended for students majoring in mathematics, science, or engineering. It emphasizes the understanding of concepts, and using them to solve physical problems. The course covers functions, limits, continuity, the derivative, rules of differentiation, applications of the derivative, Riemann sums, definite integrals, and indefinite integrals.
4
YOPS-010
RIT 365: RIT Connections
RIT 365 students participate in experiential learning opportunities designed to launch them into their career at RIT, support them in making multiple and varied connections across the university, and immerse them in processes of competency development. Students will plan for and reflect on their first-year experiences, receive feedback, and develop a personal plan for future action in order to develop foundational self-awareness and recognize broad-based professional competencies.
0
CMPE-160
Digital System Design I
This course covers the specification, analysis, modeling and design of digital systems. Standard modules, such as decoders, multiplexers, shifter registers, adders, and counters, will be analyzed. Lectures will discuss fundamental design methodologies, state machines, and digital system modeling with the use of VHDL as a hardware description language. The laboratory provides hands-on experiences of the design, modeling, implementation, and testing of digital systems using commercial IC components as well as CAD tools.
3
CSCI-142
Computer Science II
This course delves further into problem solving by continuing the discussion of data structure use and design, but now from an object-oriented perspective. Key topics include more information on tree and graph structures, nested data structures, objects, classes, inheritance, interfaces, object-oriented collection class libraries for abstract data types (e.g. stacks, queues, maps, and trees), and static vs. dynamic data types. Concepts of object-oriented design are a large part of the course. Software qualities related to object orientation, namely cohesion, minimal coupling, modifiability, and extensibility, are all introduced in this course, as well as a few elementary object-oriented design patterns. Input and output streams, graphical user interfaces, and exception handling are covered. Students will also be introduced to a modern integrated software development environment (IDE). Programming projects will be required.
4
MATH-182
Calculus II
This is the second in a two-course sequence. It emphasizes the understanding of concepts, and using them to solve physical problems. The course covers techniques of integration including integration by parts, partial fractions, improper integrals, applications of integration, representing functions by infinite series, convergence and divergence of series, parametric curves, and polar coordinates.
4
PHYS-211
University Physics I
This is a course in calculus-based physics for science and engineering majors. Topics include kinematics, planar motion, Newton's Laws, gravitation, work and energy, momentum and impulse, conservation laws, systems of particles, rotational motion, static equilibrium, mechanical oscillations and waves, and data presentation/analysis. The course is taught in a workshop format that integrates the material traditionally found in separate lecture and laboratory courses.
4
General Education – First Year Writing (WI) 3
General Education – Elective 3
General Education – Artistic Perspective 3
General Education – Social Perspective 3
Second Year
CMPE-250
Assembly and Embedded Programming
This course introduces embedded systems, along with fundamental computer organization, assembly language programming, and mixed language programming with C and assembly. Using a modern microcontroller and embedded systems IDE, such as the ARM Cortex-M0+ and Keil Microcontroller Development Kit, the course covers embedded programming concepts and interface modules, as well as addressing methods, machine instructions, assembler directives, macro definitions, code relocatability, subroutine linkage, data structures, I/O programming, exception processing, and interrupts. Program design techniques necessary to write efficient, maintainable device drivers are considered.
3
SWEN-261
Introduction to Software Engineering
An introductory course in software engineering, emphasizing the organizational aspects of software development and software design and implementation by individuals and small teams within a process/product framework. Topics include the software lifecycle, software design, user interface issues, specification and implementation of components, assessing design quality, design reviews and code inspections, software testing, basic support tools, technical communications and system documentation, team-based development. A term-long, team-based project done in a studio format is used to reinforce concepts presented in class.
3
MATH-219
Multivariable Calculus
This course is principally a study of the calculus of functions of two or more variables, but also includes the study of vectors, vector-valued functions and their derivatives. The course covers limits, partial derivatives, multiple integrals, and includes applications in physics.
3
MATH-190
Discrete Mathematics for Computing
This course introduces students to ideas and techniques from discrete mathematics that are widely used in Computer Science. Students will learn about the fundamentals of propositional and predicate calculus, set theory, relations, recursive structures and counting. This course will help increase students’ mathematical sophistication and their ability to handle abstract problems.
3
PHYS-212
University Physics II
This course is a continuation of PHYS-211, University Physics I. Topics include electrostatics, Gauss' law, electric field and potential, capacitance, resistance, DC circuits, magnetic field, Ampere's law, inductance, and geometrical and physical optics. The course is taught in a lecture/workshop format that integrates the material traditionally found in separate lecture and laboratory courses.
4
EGEN-099
Engineering Co-op Preparation
This course will prepare students, who are entering their second year of study, for both the job search and employment in the field of engineering. Students will learn strategies for conducting a successful job search, including the preparation of resumes and cover letters; behavioral interviewing techniques and effective use of social media in the application process. Professional and ethical responsibilities during the job search and for co-op and subsequent professional experiences will be discussed.
0
CMPE-260
Digital System Design II
This course presents modern approaches to the design, modeling and testing of digital system. Topics covered are: VHDL and Verilog HDL as hardware description languages (HDLs), simulation techniques, design synthesis, verification methods, and implementation with field programmable gate arrays (FPGAs). Combinational and both the synchronous and asynchronous sequential circuits are studied. Testing and design for testability techniques are emphasized and fault tolerant and fail safe design concepts are introduced. Laboratory projects that enable students gain hands-on experience are required. The projects include complete design flow: design of the system, modeling using HDLs, simulation, synthesis and verification.
4
MATH-231
Differential Equations
This course is an introduction to the study of ordinary differential equations and their applications. Topics include solutions to first order equations and linear second order equations, method of undetermined coefficients, variation of parameters, linear independence and the Wronskian, vibrating systems, and Laplace transforms.
3
MATH-241
Linear Algebra
This course is an introduction to the basic concepts of linear algebra, and techniques of matrix manipulation. Topics include linear transformations, Gaussian elimination, matrix arithmetic, determinants, vector spaces, linear independence, basis, null space, row space, and column space of a matrix, eigenvalues, eigenvectors, change of basis, similarity and diagonalization. Various applications are studied throughout the course.
3
EEEE-281
Circuits I
Covers basics of DC circuit analysis starting with the definition of voltage, current, resistance, power and energy. Linearity and superposition, together with Kirchhoff's laws, are applied to analysis of circuits having series, parallel and other combinations of circuit elements. Thevenin, Norton and maximum power transfer theorems are proved and applied. Circuits with ideal op-amps are introduced. Inductance and capacitance are introduced and the transient response of RL, RC and RLC circuits to step inputs is established. Practical aspects of the properties of passive devices and batteries are discussed, as are the characteristics of battery-powered circuitry. The laboratory component incorporates use of both computer and manually controlled instrumentation including power supplies, signal generators and oscilloscopes to reinforce concepts discussed in class as well as circuit design and simulation software.
3
General Education – Ethical Perspective 3
Third Year
CMPE-350
Computer Organization
The course covers the important aspects of the design, organization, and performance evaluation of modern computer systems. Topics include computer performance measures, instruction set architecture classification, input/output organization, CPU datapath and control unit design, microprogramming, arithmetic and logic unit design, and the memory hierarchy, including cache levels and virtual memory.
3
CMPE-380
Applied Programming in C
This course uses the C language to implement algorithms used in the numerical solution of common problems encountered in science and engineering. Topics include an introduction to C, computer number representation and roundoff error, algorithms for finding roots of nonlinear equations, interpolation, threading, software security, numerical differentiation and integration, function approximation and data fitting solutions to systems of linear equations, and general matrix manipulation.
3
EEEE-380
Digital Electronics
This is an introductory course in digital MOS circuit analysis and design. The course covers the following topics: (1) MOSFET I-V behavior in aggressively scaled devices; (2) Static and dynamic characteristics of NMOS and CMOS inverters; (3) Combinational and sequential logic networks using CMOS technology; (4) Dynamic CMOS logic networks, including precharge-evaluate, domino and transmission gate circuits; (5) Special topics, including static and dynamic MOS memory, and interconnect RLC behavior.
3
EEEE-282
Circuits II
This course covers the fundamentals of AC circuit analysis starting with the study of sinusoidal steady-state solutions for circuits in the time domain. The complex plane is introduced along with the concepts of complex exponential functions, phasors, impedances and admittances. Nodal, loop and mesh methods of analysis as well as Thevenin and related theorems are applied to the complex plane. The concept of complex power is developed. The analysis of mutual induction as applied to coupled-coils. Linear, ideal and non-ideal transformers are introduced. Complex frequency analysis is introduced to enable discussion of transfer functions, frequency dependent behavior, Bode plots, resonance phenomenon and simple filter circuits. Two-port network theory is developed and applied to circuits and interconnections.
3
CMPE-371
Introduction to Generative AI (CMPE Option Core)
This course offers a comprehensive introduction to generative AI, covering its evolution from foundational AI techniques to modern advancements in deep learning. Students will explore key breakthroughs in neural networks that have enabled the development of cutting-edge generative models, including large language models (LLMs) such as ChatGPT, which are transforming fields like natural language processing, content generation, and AI-assisted coding. The course also delves into diffusion models, which are used for high-quality image generation and manipulation. Emphasizing both theoretical concepts and hands-on practice, students will learn core techniques such as model training, optimization, and debugging, while gaining practical experience in applying generative models to real-world problems. By the end of the course, students will have the knowledge and skills to develop, fine-tune, and implement generative AI models, preparing them to engage with the latest advancements in AI technology.
3
CMPE-499 Co-op 0
Fourth Year
CMPE-550
Computer Architecture
The course covers various aspects of advanced uniprocessor computer architecture design. Instruction set architecture design alternatives are discussed with emphasis on the Reduced Instruction Set Computer (RISC) architecture. Techniques to enhance CPU performance such as pipelined execution optimizations, conditional branch handling techniques, exploitation of instruction-level parallelism, multiple-instruction issue, and dynamic scheduling are studied. Cache, and memory hierarchy design and performance issues are also presented. The design aspects of efficient and reliable input/output systems are also covered. The course concludes with an introduction to concepts of multiprocessor systems design.
3
CMPE-480
Digital Signal Processing
This course introduces the basic elements of continuous and discrete time signals and systems and fundamental signal processing techniques, such as FIR and IIR Filtering, the Fourier transform, the Discrete Fourier transform and the z transform. Theory is strengthened through MATLAB-based projects and exercises.
3
CMPE-460
Interface and Digital Electronics
This course covers various sensors, motors, and signal conditioning circuits, including amplification, filtering, level shifting, ADC, and DAC. Modern tools, such as Arm Keil MDK and PSpice, are used to simulate and debug modern microcontrollers, such as TI Arm-based MSP, analog active filters, and operational amplifier application circuits. Students typically work in teams of two to design a complete data acquisition system from sensors, amplification, filtering, ADC, and DAC to analog signals through either wired or wireless transmission circuits.
4
MATH-251
Probability and Statistics
This course introduces sample spaces and events, axioms of probability, counting techniques, conditional probability and independence, distributions of discrete and continuous random variables, joint distributions (discrete and continuous), the central limit theorem, descriptive statistics, interval estimation, and applications of probability and statistics to real-world problems. A statistical package such as Minitab or R is used for data analysis and statistical applications.
3
CMPE-499 Co-op 0
General Education – Immersion (1) 3
Fifth Year
EGEN-497
Multidisciplinary Senior Design 1
This is the first in a two-course sequence oriented to the solution of real-world engineering design problems. This is a capstone learning experience that integrates engineering theory, principles, and processes within a collaborative environment. Multidisciplinary student teams follow a systems engineering design process, which includes assessing customer needs, developing engineering specifications, generating and evaluating concepts, choosing an approach, developing the details of the design, and implementing the design to the extent feasible, for example by building and testing a prototype or implementing a chosen set of improvements to a process. This first course focuses primarily on defining the problem and developing the design, but may include elements of build/ implementation. The second course may include elements of design, but focuses on build/implementation and communicating information about the final design.
3
CMPE-570
Data and Communication Networks
This course gives an overview of the technologies, architectures, and protocols used to build various types of computer and communication networks. The course emphasizes various network design problems and solution approaches. Specific issues covered include framing and coding, error detection, multiple access control, addressing, routing, flow and congestion control, scheduling, and switching.
3
EGEN-498
Multidisciplinary Senior Design 2
This is the second in a two-course sequence oriented to the solution of real-world engineering design problems. This is a capstone learning experience that integrates engineering theory, principles, and processes within a collaborative environment. Multidisciplinary student teams follow a systems engineering design process, which includes assessing customer needs, developing engineering specifications, generating and evaluating concepts, choosing an approach, developing the details of the design, and implementing the design to the extent feasible, for example by building and testing a prototype or implementing a chosen set of improvements to a process. This first course focuses primarily on defining the problem and developing the design, but may include elements of build/implementation. The second course may include elements of design, but focuses on build/implementation and communicating information about the final design.
3
CMPE Professional Elective 3
CMPE Option Elective 1 3
General Education – Immersion (2) 3
CMPE Option Elective 2 3
Open Elective 3
General Education – Global Perspective 3
General Education – Immersion (3) 3

 

BS Computer Engineering – Secure Systems Option

 

Course Sem. Cr. Hrs.
First Year
CMPE-110
Introduction to Computer Engineering
This course overviews the field of computer engineering, the computer engineering curriculum at RIT, and research and career opportunities. The topics covered include basic circuit analysis, number systems, digital logic, programming, robotics, laboratory equipment, teamwork, critical thinking, technical writing, modern and contemporary issues, ethics, diversity, and communication skills.
1
CSCI-141
Computer Science I
This course serves as an introduction to computational thinking using a problem-centered approach. Specific topics covered include: expression of algorithms in pseudo code and a programming language; functional and imperative programming techniques; control structures; problem solving using recursion; basic searching and sorting; elementary data structures such as lists, trees, and graphs; and correctness, testing and debugging. Assignments (both in class and for homework) requiring a pseudo code solution and an implementation are an integral part of the course. An end-of-term project is also required.
4
MATH-181
Calculus I
This is the first in a two-course sequence intended for students majoring in mathematics, science, or engineering. It emphasizes the understanding of concepts, and using them to solve physical problems. The course covers functions, limits, continuity, the derivative, rules of differentiation, applications of the derivative, Riemann sums, definite integrals, and indefinite integrals.
4
YOPS-010
RIT 365: RIT Connections
RIT 365 students participate in experiential learning opportunities designed to launch them into their career at RIT, support them in making multiple and varied connections across the university, and immerse them in processes of competency development. Students will plan for and reflect on their first-year experiences, receive feedback, and develop a personal plan for future action in order to develop foundational self-awareness and recognize broad-based professional competencies.
0
CMPE-160
Digital System Design I
This course covers the specification, analysis, modeling and design of digital systems. Standard modules, such as decoders, multiplexers, shifter registers, adders, and counters, will be analyzed. Lectures will discuss fundamental design methodologies, state machines, and digital system modeling with the use of VHDL as a hardware description language. The laboratory provides hands-on experiences of the design, modeling, implementation, and testing of digital systems using commercial IC components as well as CAD tools.
3
CSCI-142
Computer Science II
This course delves further into problem solving by continuing the discussion of data structure use and design, but now from an object-oriented perspective. Key topics include more information on tree and graph structures, nested data structures, objects, classes, inheritance, interfaces, object-oriented collection class libraries for abstract data types (e.g. stacks, queues, maps, and trees), and static vs. dynamic data types. Concepts of object-oriented design are a large part of the course. Software qualities related to object orientation, namely cohesion, minimal coupling, modifiability, and extensibility, are all introduced in this course, as well as a few elementary object-oriented design patterns. Input and output streams, graphical user interfaces, and exception handling are covered. Students will also be introduced to a modern integrated software development environment (IDE). Programming projects will be required.
4
MATH-182
Calculus II
This is the second in a two-course sequence. It emphasizes the understanding of concepts, and using them to solve physical problems. The course covers techniques of integration including integration by parts, partial fractions, improper integrals, applications of integration, representing functions by infinite series, convergence and divergence of series, parametric curves, and polar coordinates.
4
PHYS-211
University Physics I
This is a course in calculus-based physics for science and engineering majors. Topics include kinematics, planar motion, Newton's Laws, gravitation, work and energy, momentum and impulse, conservation laws, systems of particles, rotational motion, static equilibrium, mechanical oscillations and waves, and data presentation/analysis. The course is taught in a workshop format that integrates the material traditionally found in separate lecture and laboratory courses.
4
General Education – First Year Writing (WI) 3
General Education – Elective 3
General Education – Artistic Perspective 3
General Education – Social Perspective 3
Second Year
CMPE-250
Assembly and Embedded Programming
This course introduces embedded systems, along with fundamental computer organization, assembly language programming, and mixed language programming with C and assembly. Using a modern microcontroller and embedded systems IDE, such as the ARM Cortex-M0+ and Keil Microcontroller Development Kit, the course covers embedded programming concepts and interface modules, as well as addressing methods, machine instructions, assembler directives, macro definitions, code relocatability, subroutine linkage, data structures, I/O programming, exception processing, and interrupts. Program design techniques necessary to write efficient, maintainable device drivers are considered.
3
SWEN-261
Introduction to Software Engineering
An introductory course in software engineering, emphasizing the organizational aspects of software development and software design and implementation by individuals and small teams within a process/product framework. Topics include the software lifecycle, software design, user interface issues, specification and implementation of components, assessing design quality, design reviews and code inspections, software testing, basic support tools, technical communications and system documentation, team-based development. A term-long, team-based project done in a studio format is used to reinforce concepts presented in class.
3
MATH-219
Multivariable Calculus
This course is principally a study of the calculus of functions of two or more variables, but also includes the study of vectors, vector-valued functions and their derivatives. The course covers limits, partial derivatives, multiple integrals, and includes applications in physics.
3
MATH-190
Discrete Mathematics for Computing
This course introduces students to ideas and techniques from discrete mathematics that are widely used in Computer Science. Students will learn about the fundamentals of propositional and predicate calculus, set theory, relations, recursive structures and counting. This course will help increase students’ mathematical sophistication and their ability to handle abstract problems.
3
PHYS-212
University Physics II
This course is a continuation of PHYS-211, University Physics I. Topics include electrostatics, Gauss' law, electric field and potential, capacitance, resistance, DC circuits, magnetic field, Ampere's law, inductance, and geometrical and physical optics. The course is taught in a lecture/workshop format that integrates the material traditionally found in separate lecture and laboratory courses.
4
EGEN-099
Engineering Co-op Preparation
This course will prepare students, who are entering their second year of study, for both the job search and employment in the field of engineering. Students will learn strategies for conducting a successful job search, including the preparation of resumes and cover letters; behavioral interviewing techniques and effective use of social media in the application process. Professional and ethical responsibilities during the job search and for co-op and subsequent professional experiences will be discussed.
0
CMPE-260
Digital System Design II
This course presents modern approaches to the design, modeling and testing of digital system. Topics covered are: VHDL and Verilog HDL as hardware description languages (HDLs), simulation techniques, design synthesis, verification methods, and implementation with field programmable gate arrays (FPGAs). Combinational and both the synchronous and asynchronous sequential circuits are studied. Testing and design for testability techniques are emphasized and fault tolerant and fail safe design concepts are introduced. Laboratory projects that enable students gain hands-on experience are required. The projects include complete design flow: design of the system, modeling using HDLs, simulation, synthesis and verification.
4
MATH-231
Differential Equations
This course is an introduction to the study of ordinary differential equations and their applications. Topics include solutions to first order equations and linear second order equations, method of undetermined coefficients, variation of parameters, linear independence and the Wronskian, vibrating systems, and Laplace transforms.
3
MATH-241
Linear Algebra
This course is an introduction to the basic concepts of linear algebra, and techniques of matrix manipulation. Topics include linear transformations, Gaussian elimination, matrix arithmetic, determinants, vector spaces, linear independence, basis, null space, row space, and column space of a matrix, eigenvalues, eigenvectors, change of basis, similarity and diagonalization. Various applications are studied throughout the course.
3
EEEE-281
Circuits I
Covers basics of DC circuit analysis starting with the definition of voltage, current, resistance, power and energy. Linearity and superposition, together with Kirchhoff's laws, are applied to analysis of circuits having series, parallel and other combinations of circuit elements. Thevenin, Norton and maximum power transfer theorems are proved and applied. Circuits with ideal op-amps are introduced. Inductance and capacitance are introduced and the transient response of RL, RC and RLC circuits to step inputs is established. Practical aspects of the properties of passive devices and batteries are discussed, as are the characteristics of battery-powered circuitry. The laboratory component incorporates use of both computer and manually controlled instrumentation including power supplies, signal generators and oscilloscopes to reinforce concepts discussed in class as well as circuit design and simulation software.
3
General Education – Ethical Perspective 3
Third Year
CMPE-350
Computer Organization
The course covers the important aspects of the design, organization, and performance evaluation of modern computer systems. Topics include computer performance measures, instruction set architecture classification, input/output organization, CPU datapath and control unit design, microprogramming, arithmetic and logic unit design, and the memory hierarchy, including cache levels and virtual memory.
3
CMPE-380
Applied Programming in C
This course uses the C language to implement algorithms used in the numerical solution of common problems encountered in science and engineering. Topics include an introduction to C, computer number representation and roundoff error, algorithms for finding roots of nonlinear equations, interpolation, threading, software security, numerical differentiation and integration, function approximation and data fitting solutions to systems of linear equations, and general matrix manipulation.
3
EEEE-380
Digital Electronics
This is an introductory course in digital MOS circuit analysis and design. The course covers the following topics: (1) MOSFET I-V behavior in aggressively scaled devices; (2) Static and dynamic characteristics of NMOS and CMOS inverters; (3) Combinational and sequential logic networks using CMOS technology; (4) Dynamic CMOS logic networks, including precharge-evaluate, domino and transmission gate circuits; (5) Special topics, including static and dynamic MOS memory, and interconnect RLC behavior.
3
EEEE-282
Circuits II
This course covers the fundamentals of AC circuit analysis starting with the study of sinusoidal steady-state solutions for circuits in the time domain. The complex plane is introduced along with the concepts of complex exponential functions, phasors, impedances and admittances. Nodal, loop and mesh methods of analysis as well as Thevenin and related theorems are applied to the complex plane. The concept of complex power is developed. The analysis of mutual induction as applied to coupled-coils. Linear, ideal and non-ideal transformers are introduced. Complex frequency analysis is introduced to enable discussion of transfer functions, frequency dependent behavior, Bode plots, resonance phenomenon and simple filter circuits. Two-port network theory is developed and applied to circuits and interconnections.
3
CMPE-361
Introduction to Hardware Security (CMPE Option Core)
The objective of this course is to build the knowledge and skills necessary to design, evaluate, and implement secure hardware systems. Course topics will span the fundamentals of hardware security and trust, which may include security principles and properties, encryption/decryption, side-channel attacks, hardware manufacture and test, physically uncloneable functions (PUF), true random number generation, hardware trojan detection, secure system design, and trusted execution environments. Laboratory assignments and projects facilitate the hands-on learning of course topics including cryptographic hardware design, side-channel attacks, integrated circuit test and verification, PUFs, true random number generation, and secure system design using a field programmable gate array (FPGA) and an embedded processor as an implementation platform.
3
CMPE-499 Co-op 0
Fourth Year
CMPE-550
Computer Architecture
The course covers various aspects of advanced uniprocessor computer architecture design. Instruction set architecture design alternatives are discussed with emphasis on the Reduced Instruction Set Computer (RISC) architecture. Techniques to enhance CPU performance such as pipelined execution optimizations, conditional branch handling techniques, exploitation of instruction-level parallelism, multiple-instruction issue, and dynamic scheduling are studied. Cache, and memory hierarchy design and performance issues are also presented. The design aspects of efficient and reliable input/output systems are also covered. The course concludes with an introduction to concepts of multiprocessor systems design.
3
CMPE-480
Digital Signal Processing
This course introduces the basic elements of continuous and discrete time signals and systems and fundamental signal processing techniques, such as FIR and IIR Filtering, the Fourier transform, the Discrete Fourier transform and the z transform. Theory is strengthened through MATLAB-based projects and exercises.
3
CMPE-460
Interface and Digital Electronics
This course covers various sensors, motors, and signal conditioning circuits, including amplification, filtering, level shifting, ADC, and DAC. Modern tools, such as Arm Keil MDK and PSpice, are used to simulate and debug modern microcontrollers, such as TI Arm-based MSP, analog active filters, and operational amplifier application circuits. Students typically work in teams of two to design a complete data acquisition system from sensors, amplification, filtering, ADC, and DAC to analog signals through either wired or wireless transmission circuits.
4
MATH-251
Probability and Statistics
This course introduces sample spaces and events, axioms of probability, counting techniques, conditional probability and independence, distributions of discrete and continuous random variables, joint distributions (discrete and continuous), the central limit theorem, descriptive statistics, interval estimation, and applications of probability and statistics to real-world problems. A statistical package such as Minitab or R is used for data analysis and statistical applications.
3
CMPE-499 Co-op 0
General Education – Immersion (1) 3
Fifth Year
EGEN-497
Multidisciplinary Senior Design 1
This is the first in a two-course sequence oriented to the solution of real-world engineering design problems. This is a capstone learning experience that integrates engineering theory, principles, and processes within a collaborative environment. Multidisciplinary student teams follow a systems engineering design process, which includes assessing customer needs, developing engineering specifications, generating and evaluating concepts, choosing an approach, developing the details of the design, and implementing the design to the extent feasible, for example by building and testing a prototype or implementing a chosen set of improvements to a process. This first course focuses primarily on defining the problem and developing the design, but may include elements of build/ implementation. The second course may include elements of design, but focuses on build/implementation and communicating information about the final design.
3
CMPE-570
Data and Communication Networks
This course gives an overview of the technologies, architectures, and protocols used to build various types of computer and communication networks. The course emphasizes various network design problems and solution approaches. Specific issues covered include framing and coding, error detection, multiple access control, addressing, routing, flow and congestion control, scheduling, and switching.
3
EGEN-498
Multidisciplinary Senior Design 2
This is the second in a two-course sequence oriented to the solution of real-world engineering design problems. This is a capstone learning experience that integrates engineering theory, principles, and processes within a collaborative environment. Multidisciplinary student teams follow a systems engineering design process, which includes assessing customer needs, developing engineering specifications, generating and evaluating concepts, choosing an approach, developing the details of the design, and implementing the design to the extent feasible, for example by building and testing a prototype or implementing a chosen set of improvements to a process. This first course focuses primarily on defining the problem and developing the design, but may include elements of build/implementation. The second course may include elements of design, but focuses on build/implementation and communicating information about the final design.
3
CMPE Professional Elective 3
CMPE Option Elective 1 3
General Education – Immersion (2) 3
CMPE Option Elective 2 3
Open Elective 3
General Education – Global Perspective 3
General Education – Immersion (3) 3

 

* (WI) refers to a writing-intensive course within the major.

 

Notes

All students are required to complete 1 x Writing Intensive and 1 x Islamic Culture course.
CMPE Professional Elective: By default, CMPE Professional Electives are approved CMPE courses 500 level and above.
CMPE Option Elective: By default, CMPE Option Electives are courses selected from a published list of approved courses.

 

Professional Elective Courses

 

  • CMPE-361 Introduction To Hardware Security
  • CMPE-371 Introduction to Generative AI
  • CMPE-540 Control Systems
  • CMPE-663 Real-time & Embedded Systems
  • CMPE-665 Perf Eng. of RT and Embed Sys.
  • CMPE-675 Robotics: Emb./Auto. Systems
  • CMPE-677 Machine Intelligence
  • CMPE-679 Deep Learning
  • CMPE-680 Dip Image Proc Algorithm
  • CMPE-685 Computer Vision
  • CMPE-757 Quantum Computing
  • CMPE-770 Wireless Networks
  • CMPE-788 ML for Cybersecurity Analytics

 

Special Topics

 

  • CMPE-789 Advanced Networking
  • CMPE-789 Wireless Communication
  • CMPE-789 Applied Dig Sig Process
  • CMPE-789 Cognitive Radios and Networks

 

To graduate, students need to complete all the requirements as listed in the curriculum graduation policy

Advisory Board

Mr. Eyad Shihabi
BT Group - MD, Global Industries and Government

Mr. Taha Khalifa
Intel Corp - General Manager, MEA

Mr. Khalid Al Naqbi
Yahsat - VP, Systems Design and Engineering

Mr. Ghanim Al Falasi
DSOA - Senior VP, Technology and Entrepreneurship

Mr. Omar Janahi
Digital Dubai - Senior Critical Project Manager

Mr. Bashar Kilani
Boyden - Managing Partner

Ms. Hannah Shibu
BEEAH Group - Cybersecurity Analyst

Dr. Tareg Ghaoud
DEWA R&D - Head of Smart Grid Integration

Dr. Tarek Taha
Dubai Future Foundation - Robotics Lab, Director

Mr. Ankur Saraswat
Mastercard - VP, Centre for Advanced AI & Cyber Technology

Mr. Sarmad Najim
TDRA - Senior Manager, TRA Building Project

Program Laboratories

Smart Energy Lab

Point of contact

Abdulla Ismail
Professor of Electrical Engineering
Electrical Engineering Department

AI/Robotics Lab

Point of contact

Jinane Mounsef
Chair of Electrical Engineering Department, Associate Professor of Electrical Engineering
Electrical Engineering Department

TDRA-ICTFUND Digital Transformation Lab

Point of contact

Mohamed Abdelraheem
Associate Professor of Computing and Information Technology
Computing Sciences Department

Laboratory Instructors

Website last updated: August 12, 2026